class Solution:
def maxProfit(self, prices: List[int]) -> int:
if not prices:
return 0
max = 0
curr = prices[-1]
for i in range(len(prices)-2,-1,-1):
if prices[i]>=curr:
curr = prices[i]
else:
mn = prices[0]
mx = 0
for j in prices[0:i]:
if mn>j:
mn = j
elif j-mn>mx:
mx = j-mn
profit = curr-prices[i] + mx
if max<profit:
max = profit
return max
1538B - Friends and Candies | 580A - Kefa and First Steps |
1038B - Non-Coprime Partition | 43A - Football |
50A - Domino piling | 479A - Expression |
1480A - Yet Another String Game | 1216C - White Sheet |
1648A - Weird Sum | 427A - Police Recruits |
535A - Tavas and Nafas | 581A - Vasya the Hipster |
1537B - Bad Boy | 1406B - Maximum Product |
507B - Amr and Pins | 379A - New Year Candles |
1154A - Restoring Three Numbers | 750A - New Year and Hurry |
705A - Hulk | 492B - Vanya and Lanterns |
1374C - Move Brackets | 1476A - K-divisible Sum |
1333A - Little Artem | 432D - Prefixes and Suffixes |
486A - Calculating Function | 1373B - 01 Game |
1187A - Stickers and Toys | 313B - Ilya and Queries |
579A - Raising Bacteria | 723A - The New Year Meeting Friends |